【问题标题】:Converting multiple .csv files from semicolon separated to column formatted将多个 .csv 文件从分号分隔转换为列格式
【发布时间】:2019-03-13 09:42:18
【问题描述】:

我正在尝试编写一个代码,它将目录中的所有 .csv 文件(以分号分隔)并将 .csv 文件格式化为列。这是我的代码:

import pandas as pd
import glob
path = r'C:...'
csv_file = path + "\*.csv"
allFiles = glob.glob(path + "\*.csv")

for file in allFiles:
 dataframe = pd.read_csv(file, delimiter=';')
 dataframe.to_csv(file, encoding='utf-8', index=False)

我已经测试了 dataframe = 此代码的一部分,它可以根据需要为一个 .csv 文件工作,但我无法对文件夹中的所有文件重复此操作。有任何想法吗?谢谢。

【问题讨论】:

标签: python csv


【解决方案1】:

如果您只想在文件中将; 更改为,,则可以这样做:

for root, dirs, files in os.walk("/dirname/"):
    csv_files = [ff for ff in files if ff.endswith('.csv')]
    for f in csv_files:
        with open(f) as tf:
            s = f.read()
        with open(f, "w") as tf:
            f.write(s.replace(";", ","))

【讨论】:

    【解决方案2】:

    您可以使用pandas 并执行以下操作:

    import pandas as pd
    
    df1 = pd.read_csv("csv_semicolon.csv", delimiter=";")
    df1.to_csv("csv_tab.csv", sep="\t", index=False)
    

    【讨论】:

      猜你喜欢
      • 2012-09-18
      • 2018-04-03
      • 1970-01-01
      • 2021-04-26
      • 1970-01-01
      • 1970-01-01
      • 2018-04-02
      • 2021-06-02
      • 1970-01-01
      相关资源
      最近更新 更多