【发布时间】:2021-03-13 07:55:33
【问题描述】:
我有很多 CSV 文件,我想将它们合并为一个 CSV 文件。问题是 CSV 文件包含不同语言的数据,如俄语、英语、克罗地亚语、西班牙语等。一些 CSV 文件甚至有多种语言编写的数据。
当我打开 CSV 文件时,数据看起来非常好,用他们的语言正确编写,我想用他们的语言读取所有 CSV 文件,并将它们原样写入一个大的 CSV 文件。
我使用的代码是这样的:
directory_path = os.getcwd()
all_files=glob.glob(os.path.join(directory_path,"DR_BigData_*.csv"))
print(all_files)
merge_file='data_5.csv'
df_from_each_file=(pd.read_csv(f,encoding='latin1') for f in all_files)
df_merged=pd.concat(df_from_each_file,ignore_index=True)
df_merged.to_csv(merge_file,index=False)
如果我使用“encoding='latin1'”,它会成功地将所有 CSV 文件写入一个文件,但正如您可能猜到的那样,这些字符非常混乱。 下面以部分输出为例:
我也尝试使用 encoding='latin1' 将它们写入 .xlsx,但我仍然遇到同样的问题。除了这些,我尝试了许多不同的编码,但这些都给了我解码错误。
【问题讨论】:
-
你能不能使用一些特殊字符的 URL 编码,然后将它们正确存储,然后再考虑如何将它们转换回可打印的字符?
标签: python pandas csv encoding