python处理csv_to_excel

提取各csv文件不同频率的S参数tx

import os.path
import pandas as pd
import openpyxl
import glob
from os.path import basename
path1 = r'E:\PythonDemo\4T4R_DATA\4t4r\tx\ps\*.csv'
path2 = r'E:\PythonDemo\4T4R_DATA\4t4r\tx\tx_ref0.csv'
name_text = glob.glob(path2)+glob.glob(path1)
num_csv = len(name_text)
# print(name_text)
# print(num_csv)
workbook = openpyxl.Workbook()
# df1 = pd.DataFrame()
with pd.ExcelWriter('TXdata.xlsx') as writer:
    for i in range(0, num_csv):
        df = pd.read_csv(name_text[i], skiprows=[0, 1, 2, 3, 4, 5])  # 读出来的是11col
        df1 = pd.read_csv(name_text[i], skiprows=212)
        name = basename(name_text[i])
        name = os.path.splitext(name)[0]   # 分割,不带后缀名
        ch1_Freq = df.loc[0:200, 'Freq(Hz)']
        # print(len(ch1_Freq))
        Freq = {}
        for j in range(len(ch1_Freq)):
            ch1_freq = int(ch1_Freq[j]) / int(1000000000)
            s = pd.Series(ch1_freq)
            # print(list[s])
            Freq[j] = s
            print(type(Freq))     #dict
        #print(Freq.values())
        FreqGHz = pd.concat(list(Freq.values()), ignore_index=True)
        #print(FreqGHz)
        ch1_freqG_dic = {'Freq(GHz)': FreqGHz}
        ch1_freqGHz = pd.DataFrame(ch1_freqG_dic)
        print(ch1_freqG_dic)
        print(ch1_freqGHz)
        for k in df.columns[1:]:   # 去掉FREQ(HZ)命名的sheet
            ch1_freqGHz.to_excel(writer, sheet_name="ch1_" + k, startcol=0, index=False)
        for m in df1.columns[1:]:
            ch1_freqGHz.to_excel(writer, sheet_name="ch2_" + m, startcol=0, index=False)
        ch1_S11DB = df.loc[0:200, 'S11(DB)']  # 取2列的方法 s11DB = df.loc[0:200, ['Freq(Hz)', 'S11(DB)']]
        # print(ch1_S11DB)   #series
        ch1_S12DB = df.loc[0:200, 'S12(DB)']
        ch1_S12DEG = df.loc[0:200, 'S12(DEG)']
        ch1_S22DB = df.loc[0:200, 'S22(DB)']
        ch1_S21DB = df.loc[0:200, 'S21(DB)']
        ch1_S21DEG = df.loc[0:200, 'S21(DEG)']
        ch2_P1DB = df1.loc[0:200, 'CompOut21(DB)']
        ch1_s11DB_dic = {name: ch1_S11DB}    # 赋值
        # print(ch1_s11DB_dic)
        ch1_s12DB_dic = {name: ch1_S12DB}     # dict字典type
        ch1_s12DEG_dic = {name: ch1_S12DEG}
        ch1_s22DB_dic = {name: ch1_S22DB}
        ch1_s21DB_dic = {name: ch1_S21DB}
        ch1_s21DEG_dic = {name: ch1_S21DEG}
        ch2_p1DB_dic = {name: ch2_P1DB}

        ch1_s11DB = pd.DataFrame(ch1_s11DB_dic)    # ch1_s11DB = pd.DataFrame({name: ch1_S11DB})
        ch1_s12DB = pd.DataFrame(ch1_s12DB_dic)
        ch1_s12DEG = pd.DataFrame(ch1_s12DEG_dic)
        ch1_s22DB = pd.DataFrame(ch1_s22DB_dic)
        ch1_s21DB = pd.DataFrame(ch1_s21DB_dic)
        ch1_s21DEG = pd.DataFrame(ch1_s21DEG_dic)
        ch2_p1DB = pd.DataFrame(ch2_p1DB_dic)
        ch1_s11DB.to_excel(writer, sheet_name="ch1_S11(DB)", startcol=i+1, index=False)
        ch1_s12DB.to_excel(writer, sheet_name="ch1_S12(DB)", startcol=i+1, index=False)
        ch1_s22DB.to_excel(writer, sheet_name="ch1_S22(DB)", startcol=i+1, index=False)
        ch1_s21DB.to_excel(writer, sheet_name="ch1_S21(DB)", startcol=i+1, index=False)
        ch1_s12DEG.to_excel(writer, sheet_name="ch1_S12(DEG)", startcol=i+1, index=False)
        ch1_s21DEG.to_excel(writer, sheet_name="ch1_S21(DEG)", startcol=i+1, index=False)
        ch2_p1DB.to_excel(writer, sheet_name="ch2_CompOut21(DB)", startcol=i+1, index=False)
    workbook.save('TXdata.xlsx')

print("成功写入文件")

rx

import os.path
import pandas as pd
import openpyxl
import glob
from os.path import basename
path1 = "E:/PythonDemo/4T4R_DATA/4t4r/rx/att/*.csv"
path2 = r'E:\PythonDemo\4T4R_DATA\4t4r\rx\phasecal\*.csv'
path3 = r'E:\PythonDemo\4T4R_DATA\4t4r\rx\ps\*.csv'
name_text = glob.glob(path1)+glob.glob(path2)+glob.glob(path3)
num_csv = len(name_text)
print(num_csv)
workbook = openpyxl.Workbook()

with pd.ExcelWriter('RXdata.xlsx') as writer:
    for i in range(0, num_csv):
        df = pd.read_csv(name_text[i], skiprows=[0, 1, 2, 3, 4, 5])  # 读出来的是11col
        ch1_freq = df.loc[0:200, 'Freq(Hz)']
        name = basename(name_text[i])      # 输出最后文件名+后缀
        # print(name)
        name = os.path.splitext(name)[0]   # 分割,不带后缀名;[1]表示后缀名
        # print(name)
        ch1_S11DB = df.loc[0:200, 'S11(DB)']  # 取2列的方法 s11DB = df.loc[0:200, ['Freq(Hz)', 'S11(DB)']]
        ch1_S12DB = df.loc[0:200, 'S12(DB)']
        ch1_S12DEG = df.loc[0:200, 'S12(DEG)']
        ch1_S22DB = df.loc[0:200, 'S22(DB)']
        ch1_S21DB = df.loc[0:200, 'S21(DB)']
        ch1_S21DEG = df.loc[0:200, 'S12(DEG)']
        print(type(ch1_S21DEG))
        ch1_s11DB_dic = {name: ch1_S11DB}    # 赋值
        ch1_s12DB_dic = {name: ch1_S12DB}     # dict字典type
        ch1_s12DEG_dic = {name: ch1_S12DEG}
        ch1_s22DB_dic = {name: ch1_S22DB}
        ch1_s21DB_dic = {name: ch1_S21DB}
        ch1_s21DEG_dic = {name: ch1_S21DEG}
        ch1_s11DB = pd.DataFrame(ch1_s11DB_dic)
        ch1_s12DB = pd.DataFrame(ch1_s12DB_dic)
        ch1_s12DEG = pd.DataFrame(ch1_s12DEG_dic)
        ch1_s22DB = pd.DataFrame(ch1_s22DB_dic)
        ch1_s21DB = pd.DataFrame(ch1_s21DB_dic)
        ch1_s21DEG = pd.DataFrame(ch1_s21DEG_dic)
        print(ch1_s21DEG)
        ch1_s11DB.to_excel(writer, sheet_name="ch1_S11(DB)", startcol=i+1, index=False)      # to_excel必须是Dataframe格式
        ch1_s12DB.to_excel(writer, sheet_name="ch1_S12(DB)", startcol=i + 1, index=False)
        ch1_s22DB.to_excel(writer, sheet_name="ch1_S22(DB)", startcol=i + 1, index=False)
        ch1_s21DB.to_excel(writer, sheet_name="ch1_S21(DB)", startcol=i + 1, index=False)
        ch1_s12DEG.to_excel(writer, sheet_name="ch1_S12(DEG)", startcol=i + 1, index=False)
        ch1_s21DEG.to_excel(writer, sheet_name="ch1_S21(DEG)", startcol=i + 1, index=False)
        for k in df.columns[1:]:  # 去掉FREQ(HZ)命名的sheet
            ch1_freq.to_excel(writer, sheet_name="ch1_" + k, startcol=0, index=False)
    workbook.save('RXdata.xlsx')
print("成功写入文件")
 


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: Python pandas to_csv是一个函数,用于将pandas数据框保存为CSV文件。它可以将数据框中的数据保存为逗号分隔的文本文件,以便在其他程序中使用。使用to_csv函数,可以指定文件名、分隔符、行结束符等参数,以满足不同的需求。此外,to_csv函数还可以将数据框保存为Excel文件、SQL数据库等格式。 ### 回答2: pandas是一个开源的数据分析库,可以使用它处理和分析大量的数据。其中的to_csv()函数是pandas提供的一个用于将数据保存为CSV文件的方法。 to_csv()函数可以将pandas中的DataFrame对象保存为CSV文件。使用to_csv()函数时,我们需要指定要保存的文件路径,并且可以选择是否包含行索引和列名称。 下面是一个示例代码: ```python import pandas as pd # 创建一个DataFrame对象 data = {'姓名': ['张三', '李四', '王五'], '年龄': [21, 22, 23], '性别': ['男', '女', '男']} df = pd.DataFrame(data) # 将DataFrame保存为CSV文件 df.to_csv('data.csv', index=False) # 不包含行索引 ``` 以上代码中,我们首先创建了一个包含姓名、年龄和性别的DataFrame对象。然后使用to_csv()函数将DataFrame保存为名为"data.csv"的文件,并且设置index参数为False,表示不包含行索引。 执行以上代码后,将会在当前目录下生成一个名为"data.csv"的CSV文件,其中存储了DataFrame中的数据。 总之,通过pandas的to_csv()函数,我们可以方便地将DataFrame对象保存为CSV文件,以便后续使用和分析。 ### 回答3: Python中的pandas库提供了一个to_csv()函数,用于将DataFrame对象以CSV格式保存到文件中。 该函数的基本语法如下: ```python DataFrame.to_csv(path_or_buf=None, sep=',', na_rep='', columns=None, header=True, index=True) ``` 参数解释: - path_or_buf:保存文件的路径或文件对象。如果为None,则返回一个字符串形式的CSV格式。 - sep:字段分隔符,默认为逗号。 - na_rep:缺失值的表示方式,默认为空值。 - columns:指定要保存的列,默认保存所有列。 - header:是否保存列名,默认保存。 以下是一个示例: ```python import pandas as pd # 创建一个DataFrame对象 data = {'Name': ['Tom', 'John', 'Mike'], 'Age': [28, 18, 25], 'Gender': ['M', 'M', 'M']} df = pd.DataFrame(data) # 将DataFrame保存为CSV文件 df.to_csv('data.csv', sep=',', index=False) ``` 在上面的例子中,DataFrame对象df将以CSV格式保存到名为"data.csv"的文件中。字段之间使用逗号作为分隔符,并且不包含索引。如果省略了索引,则index参数可以设置为False。 调用to_csv()函数后,将生成一个以CSV格式保存的文件。可以使用文本编辑器打开该文件,查看保存的数据。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值