java将float数据写入csv 并在python中读取csv文件

当Excel中的单元格包含公式时,直接读取可能无法获取正确数据。本文介绍了一种方法,使用Java计算公式并把结果以二维数组形式存入CSV,然后用Python读取CSV文件。在Java中,通过FileWriter和BufferedWriter将float数据转换为字符串写入CSV。在Python端,使用csv模块读取,但发现每行末尾多了一个空元素,通过列表的pop()方法进行处理。
摘要由CSDN通过智能技术生成
由于excel中单元格带有公式
使用java或者python去读取数据结果时都不能得到正确的值
于是自己根据公式在java中实现
得到二维数组作为结果,存入csv中等待python读取
		File file=new File(filename);
		try {
			FileWriter fw = new FileWriter(file);
			BufferedWriter bw=new BufferedWriter(fw);
			for(int i=0;i<26;i++){
				for(int j=0;j<10;j++){
						bw.write(String.valueOf(po[i][j]));
						bw.write(",");
				}
				bw.newLine();
			}
			bw.close();
			fw.close();
		} catch (IOException e1) {
			e1.printStackTrace();
		}
我将float转化成string存入了csv文件中
当py'读取时 我们需要用到csv'模块
import csv
re=csv.reader(open(name))
for row in re:
        print row
发现每一行的最后会多一个空的‘ ’
因此需要做处理 采用pop()方法
data=[]
    re=csv.reader(open(name))
    for row in re:
        a=row
        a.pop()
        data.append(a)
    return data    


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要将CSV文件的几列数据进行标准化,你可以使用Python的`sklearn`库的`StandardScaler`类。以下是一个示例代码,它将CSV文件的指定列数据进行标准化: ```python import csv from sklearn.preprocessing import StandardScaler # 读取 CSV 文件 data = [] with open('input.csv', 'r') as file: reader = csv.DictReader(file) for row in reader: data.append(row) # 提取需要标准化的列数据 columns_to_normalize = ['column1', 'column2', 'column3'] # 替换为你需要标准化的列名 # 提取需要标准化的数据 X = [] for row in data: x = [float(row[column]) for column in columns_to_normalize] X.append(x) # 使用StandardScaler进行标准化 scaler = StandardScaler() scaled_data = scaler.fit_transform(X) # 将标准化后的数据更新回原始数据 for i, row in enumerate(data): for j, column in enumerate(columns_to_normalize): row[column] = scaled_data[i][j] # 写入更新后的数据到新的 CSV 文件 fieldnames = data[0].keys() # 获取字段名 with open('output.csv', 'w', newline='') as result_file: writer = csv.DictWriter(result_file, fieldnames=fieldnames) writer.writeheader() # 写入字段名 writer.writerows(data) ``` 请将代码的 `'input.csv'` 替换为你要处理的CSV文件的路径,`['column1', 'column2', 'column3']` 替换为你需要标准化的列名,`'output.csv'` 替换为输出结果的文件路径。 在这个示例,我们首先读取CSV文件,并将每一行存储在 `data` 列表。然后,我们提取需要标准化的列数据,并将它们存储在一个新的列表 `X` 。接下来,我们使用 `StandardScaler` 对 `X` 进行标准化处理。最后,我们将标准化后的数据更新回原始数据,并将更新后的数据写入到新的CSV文件
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值